/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.hl7.v3;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.eclipse.emf.common.util.Enumerator;

/**
 * <!-- begin-user-doc -->
 * A representation of the literals of the enumeration '<em><b>Race American Indian Puget Sound Salish</b></em>',
 * and utility methods for working with them.
 * <!-- end-user-doc -->
 * <!-- begin-model-doc -->
 * specDomain: S15306 (C-0-T14914-S14915-S14916-S15306-cpt)
 * <!-- end-model-doc -->
 * @see org.hl7.v3.V3Package#getRaceAmericanIndianPugetSoundSalish()
 * @model extendedMetaData="name='RaceAmericanIndianPugetSoundSalish'"
 * @generated
 */
public enum RaceAmericanIndianPugetSoundSalish implements Enumerator {
	/**
	 * The '<em><b>15180</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15180_VALUE
	 * @generated
	 * @ordered
	 */
	_15180(0, "_15180", "1518-0"),

	/**
	 * The '<em><b>15198</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15198_VALUE
	 * @generated
	 * @ordered
	 */
	_15198(1, "_15198", "1519-8"),

	/**
	 * The '<em><b>15206</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15206_VALUE
	 * @generated
	 * @ordered
	 */
	_15206(2, "_15206", "1520-6"),

	/**
	 * The '<em><b>15214</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15214_VALUE
	 * @generated
	 * @ordered
	 */
	_15214(3, "_15214", "1521-4"),

	/**
	 * The '<em><b>15222</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15222_VALUE
	 * @generated
	 * @ordered
	 */
	_15222(4, "_15222", "1522-2"),

	/**
	 * The '<em><b>15230</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15230_VALUE
	 * @generated
	 * @ordered
	 */
	_15230(5, "_15230", "1523-0"),

	/**
	 * The '<em><b>15248</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15248_VALUE
	 * @generated
	 * @ordered
	 */
	_15248(6, "_15248", "1524-8"),

	/**
	 * The '<em><b>15255</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15255_VALUE
	 * @generated
	 * @ordered
	 */
	_15255(7, "_15255", "1525-5"),

	/**
	 * The '<em><b>15263</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15263_VALUE
	 * @generated
	 * @ordered
	 */
	_15263(8, "_15263", "1526-3"),

	/**
	 * The '<em><b>15271</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15271_VALUE
	 * @generated
	 * @ordered
	 */
	_15271(9, "_15271", "1527-1"),

	/**
	 * The '<em><b>15289</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15289_VALUE
	 * @generated
	 * @ordered
	 */
	_15289(10, "_15289", "1528-9"),

	/**
	 * The '<em><b>15297</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15297_VALUE
	 * @generated
	 * @ordered
	 */
	_15297(11, "_15297", "1529-7"),

	/**
	 * The '<em><b>15305</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15305_VALUE
	 * @generated
	 * @ordered
	 */
	_15305(12, "_15305", "1530-5"),

	/**
	 * The '<em><b>15313</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15313_VALUE
	 * @generated
	 * @ordered
	 */
	_15313(13, "_15313", "1531-3"),

	/**
	 * The '<em><b>15321</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15321_VALUE
	 * @generated
	 * @ordered
	 */
	_15321(14, "_15321", "1532-1"),

	/**
	 * The '<em><b>15339</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15339_VALUE
	 * @generated
	 * @ordered
	 */
	_15339(15, "_15339", "1533-9"),

	/**
	 * The '<em><b>15347</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15347_VALUE
	 * @generated
	 * @ordered
	 */
	_15347(16, "_15347", "1534-7"),

	/**
	 * The '<em><b>15354</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15354_VALUE
	 * @generated
	 * @ordered
	 */
	_15354(17, "_15354", "1535-4"),

	/**
	 * The '<em><b>15362</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15362_VALUE
	 * @generated
	 * @ordered
	 */
	_15362(18, "_15362", "1536-2"),

	/**
	 * The '<em><b>15370</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15370_VALUE
	 * @generated
	 * @ordered
	 */
	_15370(19, "_15370", "1537-0"),

	/**
	 * The '<em><b>15388</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15388_VALUE
	 * @generated
	 * @ordered
	 */
	_15388(20, "_15388", "1538-8"),

	/**
	 * The '<em><b>15396</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_15396_VALUE
	 * @generated
	 * @ordered
	 */
	_15396(21, "_15396", "1539-6");

	/**
	 * The '<em><b>15180</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15180</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15180
	 * @model literal="1518-0"
	 * @generated
	 * @ordered
	 */
	public static final int _15180_VALUE = 0;

	/**
	 * The '<em><b>15198</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15198</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15198
	 * @model literal="1519-8"
	 * @generated
	 * @ordered
	 */
	public static final int _15198_VALUE = 1;

	/**
	 * The '<em><b>15206</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15206</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15206
	 * @model literal="1520-6"
	 * @generated
	 * @ordered
	 */
	public static final int _15206_VALUE = 2;

	/**
	 * The '<em><b>15214</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15214</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15214
	 * @model literal="1521-4"
	 * @generated
	 * @ordered
	 */
	public static final int _15214_VALUE = 3;

	/**
	 * The '<em><b>15222</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15222</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15222
	 * @model literal="1522-2"
	 * @generated
	 * @ordered
	 */
	public static final int _15222_VALUE = 4;

	/**
	 * The '<em><b>15230</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15230</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15230
	 * @model literal="1523-0"
	 * @generated
	 * @ordered
	 */
	public static final int _15230_VALUE = 5;

	/**
	 * The '<em><b>15248</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15248</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15248
	 * @model literal="1524-8"
	 * @generated
	 * @ordered
	 */
	public static final int _15248_VALUE = 6;

	/**
	 * The '<em><b>15255</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15255</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15255
	 * @model literal="1525-5"
	 * @generated
	 * @ordered
	 */
	public static final int _15255_VALUE = 7;

	/**
	 * The '<em><b>15263</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15263</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15263
	 * @model literal="1526-3"
	 * @generated
	 * @ordered
	 */
	public static final int _15263_VALUE = 8;

	/**
	 * The '<em><b>15271</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15271</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15271
	 * @model literal="1527-1"
	 * @generated
	 * @ordered
	 */
	public static final int _15271_VALUE = 9;

	/**
	 * The '<em><b>15289</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15289</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15289
	 * @model literal="1528-9"
	 * @generated
	 * @ordered
	 */
	public static final int _15289_VALUE = 10;

	/**
	 * The '<em><b>15297</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15297</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15297
	 * @model literal="1529-7"
	 * @generated
	 * @ordered
	 */
	public static final int _15297_VALUE = 11;

	/**
	 * The '<em><b>15305</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15305</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15305
	 * @model literal="1530-5"
	 * @generated
	 * @ordered
	 */
	public static final int _15305_VALUE = 12;

	/**
	 * The '<em><b>15313</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15313</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15313
	 * @model literal="1531-3"
	 * @generated
	 * @ordered
	 */
	public static final int _15313_VALUE = 13;

	/**
	 * The '<em><b>15321</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15321</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15321
	 * @model literal="1532-1"
	 * @generated
	 * @ordered
	 */
	public static final int _15321_VALUE = 14;

	/**
	 * The '<em><b>15339</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15339</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15339
	 * @model literal="1533-9"
	 * @generated
	 * @ordered
	 */
	public static final int _15339_VALUE = 15;

	/**
	 * The '<em><b>15347</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15347</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15347
	 * @model literal="1534-7"
	 * @generated
	 * @ordered
	 */
	public static final int _15347_VALUE = 16;

	/**
	 * The '<em><b>15354</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15354</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15354
	 * @model literal="1535-4"
	 * @generated
	 * @ordered
	 */
	public static final int _15354_VALUE = 17;

	/**
	 * The '<em><b>15362</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15362</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15362
	 * @model literal="1536-2"
	 * @generated
	 * @ordered
	 */
	public static final int _15362_VALUE = 18;

	/**
	 * The '<em><b>15370</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15370</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15370
	 * @model literal="1537-0"
	 * @generated
	 * @ordered
	 */
	public static final int _15370_VALUE = 19;

	/**
	 * The '<em><b>15388</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15388</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15388
	 * @model literal="1538-8"
	 * @generated
	 * @ordered
	 */
	public static final int _15388_VALUE = 20;

	/**
	 * The '<em><b>15396</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>15396</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_15396
	 * @model literal="1539-6"
	 * @generated
	 * @ordered
	 */
	public static final int _15396_VALUE = 21;

	/**
	 * An array of all the '<em><b>Race American Indian Puget Sound Salish</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static final RaceAmericanIndianPugetSoundSalish[] VALUES_ARRAY =
		new RaceAmericanIndianPugetSoundSalish[] {
			_15180,
			_15198,
			_15206,
			_15214,
			_15222,
			_15230,
			_15248,
			_15255,
			_15263,
			_15271,
			_15289,
			_15297,
			_15305,
			_15313,
			_15321,
			_15339,
			_15347,
			_15354,
			_15362,
			_15370,
			_15388,
			_15396,
		};

	/**
	 * A public read-only list of all the '<em><b>Race American Indian Puget Sound Salish</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static final List<RaceAmericanIndianPugetSoundSalish> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));

	/**
	 * Returns the '<em><b>Race American Indian Puget Sound Salish</b></em>' literal with the specified literal value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static RaceAmericanIndianPugetSoundSalish get(String literal) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			RaceAmericanIndianPugetSoundSalish result = VALUES_ARRAY[i];
			if (result.toString().equals(literal)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Race American Indian Puget Sound Salish</b></em>' literal with the specified name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static RaceAmericanIndianPugetSoundSalish getByName(String name) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			RaceAmericanIndianPugetSoundSalish result = VALUES_ARRAY[i];
			if (result.getName().equals(name)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Race American Indian Puget Sound Salish</b></em>' literal with the specified integer value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static RaceAmericanIndianPugetSoundSalish get(int value) {
		switch (value) {
			case _15180_VALUE: return _15180;
			case _15198_VALUE: return _15198;
			case _15206_VALUE: return _15206;
			case _15214_VALUE: return _15214;
			case _15222_VALUE: return _15222;
			case _15230_VALUE: return _15230;
			case _15248_VALUE: return _15248;
			case _15255_VALUE: return _15255;
			case _15263_VALUE: return _15263;
			case _15271_VALUE: return _15271;
			case _15289_VALUE: return _15289;
			case _15297_VALUE: return _15297;
			case _15305_VALUE: return _15305;
			case _15313_VALUE: return _15313;
			case _15321_VALUE: return _15321;
			case _15339_VALUE: return _15339;
			case _15347_VALUE: return _15347;
			case _15354_VALUE: return _15354;
			case _15362_VALUE: return _15362;
			case _15370_VALUE: return _15370;
			case _15388_VALUE: return _15388;
			case _15396_VALUE: return _15396;
		}
		return null;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final int value;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String name;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String literal;

	/**
	 * Only this class can construct instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private RaceAmericanIndianPugetSoundSalish(int value, String name, String literal) {
		this.value = value;
		this.name = name;
		this.literal = literal;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getValue() {
	  return value;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getName() {
	  return name;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getLiteral() {
	  return literal;
	}

	/**
	 * Returns the literal value of the enumerator, which is its string representation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		return literal;
	}
	
} //RaceAmericanIndianPugetSoundSalish
